package com.yuntai.pms.model.entity;


import com.alibaba.fastjson.JSON;

import java.io.Serializable;
import java.util.Date;

public class AipApp implements Serializable {

    private static final long serialVersionUID = -7361106571678301196L;

    private Long        id;                     // 应用主键ID
    private String      name;                   // 应用名称
    private String      description;            // 应用描述
    private String      appType;                // 客户端应用类别，0为内部服务调用，1为项目应用服务调用，2为第三方应用服务调用；
    private Long        isvAppId;               // 开发者应用app_id，用于资源接口请求认证授权
    private String      isvAppSecret;           // 客户端密令，用于客户端令牌请求认证授权
    private String      resourceServerIds;      // 资源服务器id集合，英文逗号分隔，表示该客户端服务可以访问哪些资源服务器
    private String      authorities;            // 权限资源集合，ROLE_*表示所有权限资源
    private Integer     accessTokenValidity;    // 访问令牌有效时间，单位：秒（s）
    private String      cryptPublicKey;         // RSA客户端公钥，供认证服务器使用，验签或解密
    private String      cryptPrivateKey;        // RSA客户端私钥，客户端自己保存，供客户端使用，用于客户端加签或加密
    private String      signPublicKey;
    private String      signPrivateKey;
    private Date      	createTime;             // 创建时间
    private Date     	updateTime;             // 最后更新时间
    private String      status;                 // 状态：有效(enabled)、待审核（check）、无效(disabled) , 默认有效
    private String      isvId;
    private String      terminalType;
    private String      appSecret;
    private String      appId;

    private String auditPublishRemark;
    private Date   auditTime;
    private Date   publishTime;

    private boolean    change;


    public boolean isChange() {
        return change;
    }

    public void setChange(boolean change) {
        this.change = change;
    }

    public String getAuditPublishRemark() {
        return auditPublishRemark;
    }

    public void setAuditPublishRemark(String auditPublishRemark) {
        this.auditPublishRemark = auditPublishRemark;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public Date getPublishTime() {
        return publishTime;
    }

    public void setPublishTime(Date publishTime) {
        this.publishTime = publishTime;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getIsvId() {
        return isvId;
    }

    public void setIsvId(String isvId) {
        this.isvId = isvId;
    }

    public String getTerminalType() {
        return terminalType;
    }

    public void setTerminalType(String terminalType) {
        this.terminalType = terminalType;
    }

    public String getAppSecret() {
        return appSecret;
    }

    public void setAppSecret(String appSecret) {
        this.appSecret = appSecret;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getAppType() {
        return appType;
    }

    public void setAppType(String appType) {
        this.appType = appType;
    }

    public Long getIsvAppId() {
        return isvAppId;
    }

    public void setIsvAppId(Long isvAppId) {
        this.isvAppId = isvAppId;
    }

    public String getIsvAppSecret() {
        return isvAppSecret;
    }

    public void setIsvAppSecret(String isvAppSecret) {
        this.isvAppSecret = isvAppSecret;
    }

    public String getResourceServerIds() {
        return resourceServerIds;
    }

    public void setResourceServerIds(String resourceServerIds) {
        this.resourceServerIds = resourceServerIds;
    }

    public String getAuthorities() {
        return authorities;
    }

    public void setAuthorities(String authorities) {
        this.authorities = authorities;
    }

    public Integer getAccessTokenValidity() {
        return accessTokenValidity;
    }

    public void setAccessTokenValidity(Integer accessTokenValidity) {
        this.accessTokenValidity = accessTokenValidity;
    }

    public String getCryptPublicKey() {
        return cryptPublicKey;
    }

    public void setCryptPublicKey(String cryptPublicKey) {
        this.cryptPublicKey = cryptPublicKey;
    }

    public String getCryptPrivateKey() {
        return cryptPrivateKey;
    }

    public void setCryptPrivateKey(String cryptPrivateKey) {
        this.cryptPrivateKey = cryptPrivateKey;
    }

    public String getSignPublicKey() {
        return signPublicKey;
    }

    public void setSignPublicKey(String signPublicKey) {
        this.signPublicKey = signPublicKey;
    }

    public String getSignPrivateKey() {
        return signPrivateKey;
    }

    public void setSignPrivateKey(String signPrivateKey) {
        this.signPrivateKey = signPrivateKey;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}
